GtkPlacesSidebar applies a sorting function on
the tree model that does not consider the case
of bookmarks, which are sorted by their indexes.
By adding the bookmarks corner case and comparing
then by their indexes, GtkPlacesSidebar can sort
the bookmarks properly in the order they're saved.
https://bugzilla.gnome.org/show_bug.cgi?id=744589
g_free (name_a);
g_free (name_b);
}
+ else if ((place_type_a == place_type_b) &&
+ (place_type_a == PLACES_BOOKMARK))
+ {
+ gint pos_a, pos_b;
+
+ gtk_tree_model_get (model, iter_a,
+ PLACES_SIDEBAR_COLUMN_INDEX, &pos_a,
+ -1);
+ gtk_tree_model_get (model, iter_b,
+ PLACES_SIDEBAR_COLUMN_INDEX, &pos_b,
+ -1);
+
+ retval = pos_a - pos_b;
+ }
else if (place_type_a == PLACES_CONNECT_TO_SERVER)
{
retval = 1;